home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / clue.lha / clue / doc / clue.tex / node163_mn.html < prev    next >
Text File  |  1989-07-12  |  6KB  |  118 lines

  1.  
  2. <H3><A ID="SECTION004611100000000000000"><tex2html_anchor_invisible_mark></A> <A ID="ch:double-click"><tex2html_anchor_mark></A><BR>
  3. Double-click Events
  4. </H3><#5150#>
  5.            
  6.       
  7.  
  8. <A ID="2188"><tex2html_anchor_invisible_mark></A><A ID="2189"><tex2html_anchor_invisible_mark></A> 
  9. CLUE provides for the automatic
  10. recognition of ``double-clicks'' by treating these as specially
  11. modified <#2190#><TT>:button-press</TT><#2190#> or <#2191#><TT>:button-release</TT><#2191#> events.  A
  12. ``click'' is a <#2192#><TT>:button-press</TT><#2192#> event followed immediately by a <#2193#><TT>:button-release</TT><#2193#> event for the same button, with no intervening change
  13. in pointer position<A NAME="tex2html253" HREF="#footfnm1" TARGET="footer"><SUP>43.1</SUP></A> or modifier
  14. key state.  A ``double-click''
  15. is a sequence of two clicks of the same button in rapid succession.  The
  16. definition of a double-click ``event'' is thus time-sensitive; for a
  17. double-click to be recognized, the time interval between events in the
  18. sequence cannot exceed a certain maximum.  The <#2195#><TT>display-multipress-delay-limit</TT><#2195#> accessor defines the maximum
  19. inter-event time
  20. interval, in milliseconds,
  21. for a given <#2196#><TT>contact-display</TT><#2196#>.<A ID="2197"><tex2html_anchor_invisible_mark></A>
  22.  
  23. <P>
  24. During event translation for a <#2198#><TT>:button-press</TT><#2198#> event, CLUE will
  25. invoke double-click processing when it attempts to match a <#2199#><TT>:button-press</TT><#2199#> event specification
  26. containing the <#2200#><TT>:double-click</TT><#2200#> keyword (see
  27. Section~<A HREF=<tex2html_cr_mark>#ch:event-specifications#2201><tex2html_cr_mark></A>).  CLUE then
  28. looks ahead into the event stream, checking for the remainder of the
  29. double-click sequence. If a double-click is recognized, then the event
  30. specification is matched, the corresponding actions are invoked with the
  31. initial <#2202#><TT>:button-press</TT><#2202#> event, and the rest of the double-click
  32. events are discarded. Otherwise, the match fails, all events remain in
  33. the event stream, and event translation continues.
  34. The <#2203#><TT>:double-click</TT><#2203#> keyword can also appear in a <#2204#><TT>:button-release</TT><#2204#> event specification. In this case, CLUE attempts to
  35. match the event specification by looking ahead for
  36. a subsequent click sequence. If a click is found, then the event
  37. specification is matched, the corresponding actions are invoked with the
  38. initial <#2205#><TT>:button-release</TT><#2205#> event, and the rest of the click
  39. events are discarded. Otherwise, the match fails, all events remain in
  40. the event stream, and event translation continues.
  41.  
  42. <P>
  43. The <#2206#><TT>:single-click</TT><#2206#> keyword can be used to explicitly request CLUE
  44. double-click processing, in order to verify that a double-click sequence
  45. has <#2207#><EM>not</EM><#2207#> occurred. An event specification containing the
  46. <#2208#><TT>:single-click</TT><#2208#> keyword will be matched only when the event is not
  47. followed by the rest of a
  48. double-click sequence. This form of event specification allows a contact
  49. to reliably specify actions for both single- and double-click event
  50. sequences, with no dependence on the relative order of <#2209#><TT>:single-click</TT><#2209#> and <#2210#><TT>:double-click</TT><#2210#> event translations.
  51.  
  52. <P>
  53. Detecting when the <#2211#><TT>display-multipress-delay-limit</TT><#2211#> timeout has lapsed is
  54. complicated by the possibility of network delays in
  55. receiving events from the X server.<A ID="2212"><tex2html_anchor_invisible_mark></A> 
  56. Timestamps maintained by the X server can be used to verify a timeout, at
  57. the expense of a message round-trip between the client and
  58. the server. CLUE clients can optionally select such timeout
  59. verification for a <#2213#><TT>contact-display</TT><#2213#> by using the <#2214#><TT>display-multipress-verify-p</TT><#2214#> accessor.
  60. <A ID="2215"><tex2html_anchor_invisible_mark></A>
  61.  
  62. <P>
  63. <#4688#>
  64. <#4388#><FONT SIZE="+1"><#2216#><B>display-multipress-delay-limit Macro, contact-display</B><#2216#></FONT><#4388#> 
  65. <A ID="2217"><tex2html_anchor_invisible_mark></A>
  66. <A ID="2218"><tex2html_anchor_invisible_mark></A>
  67. <DIV class="RIGHT">
  68. <tex2html_image_mark>#tex2html_wrap_inline10156#
  69. </DIV><#4688#>
  70.  
  71. <P>
  72. <DIV class="RIGHT">
  73. <tex2html_image_mark>#tex2html_wrap_inline10159#
  74. </DIV>
  75.  
  76. <P>
  77. <#4689#>
  78. <#4391#><FONT SIZE="+1"><#2231#><B>display-multipress-verify-p Macro, contact-display</B><#2231#></FONT><#4391#> 
  79. <A ID="2232"><tex2html_anchor_invisible_mark></A>
  80. <A ID="2233"><tex2html_anchor_invisible_mark></A>
  81. <DIV class="RIGHT">
  82. <tex2html_image_mark>#tex2html_wrap_inline10160#
  83. </DIV><#4689#>
  84.  
  85. <P>
  86. <DIV class="RIGHT">
  87. <tex2html_image_mark>#tex2html_wrap_inline10163#
  88. </DIV>
  89.  
  90. <P>
  91. <#4690#>
  92. <#4394#><FONT SIZE="+1"><#2247#><B>*default-multipress-delay-limit* Variable</B><#2247#></FONT><#4394#> 
  93. <A ID="2248"><tex2html_anchor_invisible_mark></A><A ID="2249"><tex2html_anchor_invisible_mark></A>
  94. <DIV class="RIGHT">
  95. <tex2html_image_mark>#tex2html_wrap_inline10164#
  96. </DIV>
  97.  
  98. <P>
  99. <DIV class="RIGHT">
  100. <tex2html_image_mark>#tex2html_wrap_inline10165#
  101. </DIV><#4690#>
  102.  
  103. <P>
  104. <#4691#>
  105. <#4396#><FONT SIZE="+1"><#2260#><B>*default-multipress-verify-p* Variable</B><#2260#></FONT><#4396#> 
  106. <A ID="2261"><tex2html_anchor_invisible_mark></A><A ID="2262"><tex2html_anchor_invisible_mark></A>
  107. <DIV class="RIGHT">
  108. <tex2html_image_mark>#tex2html_wrap_inline10168#
  109. </DIV><#4691#>
  110.  
  111. <P>
  112. <DIV class="RIGHT">
  113. <tex2html_image_mark>#tex2html_wrap_inline10171#
  114. </DIV>
  115.  
  116. <P>
  117.  
  118.  =0 <#5160#>=0 <#5164#>